﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LearningCompany_DAO
{
    public partial class Formateur
    {
        public string NomPrenom
        {
            get
            {
                return this.Nom.ToUpper() + " " + this.Prenom;
            }
        }
        #region Méthodes
        public static Formateur CreateFormateur(Civilite aCivilite, string aNom, string aPrenom, string aNomFichierPhoto, string aEmail, string aTelephone, bool aEstIntervanantExterieur, string aInfos)
        {
            Formateur oFormateur;

            oFormateur = new Formateur();
            oFormateur.Civilite = aCivilite;
            oFormateur.Nom = aNom;
            oFormateur.Prenom = aPrenom;
            oFormateur.NomFichierPhoto = aNomFichierPhoto;
            oFormateur.Email = aEmail;
            oFormateur.Telephone = aTelephone;
            oFormateur.IntervenantExterieur = aEstIntervanantExterieur;
            oFormateur.Infos = aInfos;

            return oFormateur;
        }

        public static List<Formateur> GetListeInstances()
        {
            return (from oFormateur in ContexteDAO.ContexteDonnees.Formateur
                    orderby oFormateur.Nom, oFormateur.Prenom
                    select oFormateur).ToList();
        }

        public static Formateur GetInstance(int aIdentifiant)
        {
            return (from oFormateur in ContexteDAO.ContexteDonnees.Formateur
                    where oFormateur.Identifiant == aIdentifiant
                    select oFormateur).FirstOrDefault();
        }

        public List<Formation> GetListeFormations()
        {
            return (from oFormation in this.Formations
                    orderby oFormation.Libelle
                    select oFormation).ToList();
        }

        public List<SessionFormation> GetListeSessionsFormation()
        {
            return (from oSessionFormation in this.SessionsFormation
                    orderby oSessionFormation.DateFin descending
                    select oSessionFormation).ToList();
        }
        #endregion
    }
}
